package com.ruoyi.manage.mapper;

import java.util.List;
import com.ruoyi.manage.domain.DeviceInfo;

/**
 * 设备管理Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-22
 */
public interface DeviceInfoMapper 
{
    /**
     * 查询设备管理
     * 
     * @param deviceId 设备管理主键
     * @return 设备管理
     */
    public DeviceInfo selectDeviceInfoByDeviceId(Long deviceId);

    /**
     * 查询设备管理列表
     * 
     * @param deviceInfo 设备管理
     * @return 设备管理集合
     */
    public List<DeviceInfo> selectDeviceInfoList(DeviceInfo deviceInfo);

    /**
     * 新增设备管理
     * 
     * @param deviceInfo 设备管理
     * @return 结果
     */
    public int insertDeviceInfo(DeviceInfo deviceInfo);

    /**
     * 修改设备管理
     * 
     * @param deviceInfo 设备管理
     * @return 结果
     */
    public int updateDeviceInfo(DeviceInfo deviceInfo);

    /**
     * 查询最大设备编码
     * 
     * @param deviceInfo 设备管理
     * @return 最大设备编码
     */
    public String selectMaxDeviceCode(DeviceInfo deviceInfo);

    /**
     * 删除设备管理
     * 
     * @param deviceId 设备管理主键
     * @return 结果
     */
    public int deleteDeviceInfoByDeviceId(Long deviceId);

    /**
     * 批量删除设备管理
     * 
     * @param deviceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDeviceInfoByDeviceIds(Long[] deviceIds);
    
    /**
     * 根据deviceId查询水印安装状态
     * 
     * @param deviceId 设备管理主键
     * @return 结果
     */
    public String selectWatermarkInstallById(Long deviceId);

        /**
     * 根据deviceId查询水印设备安全保密防护安装情况List
     * 
     * @param deviceId 设备管理主键
     * @return 结果
     */
    public List<String> selectDeviceSecurityInstallById(Long deviceId);

    /**
     * 根据locationId查询字典名称
     * 
     * @param locationId 位置ID
     * @return 字典名称
     */
    public String selectDictNameById(String locationId);
}
